This invention generally relates to a method and apparatus for computer control and more specifically relates to the method and apparatus that enables a human to interact with the computer in a manner that encourages an improving accuracy of the interaction.
It can be said that humans began to control and interact with xe2x80x9cthinkingxe2x80x9d machines by providing coded instructions and data to the machines at the beginning to the Industrial Revolution. The punched card instructions provided to the Jacquard loom to select different patterns of woven thread anticipated the instruction sets provided to general purpose computers, today. Charles Babbage conceived a general purpose programmable Analytical Engine that could have performed complex functions defined by punched card or mechanical numerical wheel programming. Later developments in punched card technology by Herman Hollerith led to a greater ease of data input/output for tabulating machines and, ultimately, general-purpose computers. Alan Turing""s Universal Turing Machine let to the understanding of a modem computer: one device that can be used for a wide range of intellectual tasks upon being supplied with the proper instruction set.
These historical advancements notwithstanding, the instructions provided to computers have remained structured by the inflexible rules of grammar, semantics, and syntax acceptable to the machine ever since. Even modem higher level programming languages employ a rigid structure of natural language words to provide instructions to the machine. Although a human can readily understand these words, the human must learn and use only the accepted vocabulary placed in the mandated phraseology.
In order to ease communication between human and machine, graphical user interfaces (GUI) have been developed and have become universally accepted by the general public. GUI interfaces to the computer have used pictorial devices such as windows, icons, menus, and pointers to visually communicate with a human user. Graphical layouts provided by movable windows, icons, and menus of this type of interface have been very successful in helping to organize information for a human on a computer display. Nevertheless, they are limited in their depiction of operating system procedures and for graphical information about files, activities, and directories available in the system. Most computer users find the graphical interface to be much easier to learn and much easier to use than a structured set of programming words and many people have described the graphical interface as xe2x80x9cintuitivexe2x80x9d. However, some people do not find it so intuitive and need more time to learn how to use it than do others.
Despite their intuitiveness, the graphical interfaces used remain regimented. For example, the icons are typically all rectangular and of the same size, e.g. 32 by 32 pixels. They are also generally generic. That is to say, for example, that a text document concerning one subject would have the same icon as a document concerning an entirely different subject. Although some graphic manipulation applications programs provide xe2x80x9cthumbnailsxe2x80x9d that incorporate a small representation of the file represented by the icon. Nevertheless, most file and folder icons are accompanied by a text string for identification.
In order to provide more meaningful interactions with a human, a dynamic pictorial user interface is described in U.S. Pat. No. 5,715,416. The pictorial user interface there includes a pictorial image that is linked to a file directory and that identifies the file directory. Objects in the pictorial image are icons linked to file objects and an animated character is overlaid on the pictorial image. User input causes movement of the animated character relative to the pictorial image and animates objects in the pictorial image. Input from the user is preferable through a limited input device such as a game pad controller, a mouse, or by using a limited number of keys on a normal keyboard. Input signals are mapped according to key code identical command sets, context arguments and selection arguments.
A user-adaptable interface has been described in U.S. Pat. No. 5,727,950, in which a graphical interface, an animated figure, is a computer agent to facilitate teaching of a student. The disclosed system includes for each student an agent adapted to that student which monitors its student""s instructional behavior, responds to teacher direction, and controls the instructional progress, and guides its student, all of which constitute one aspect of a virtual tutor. The viewable on-screen aspect of the agent includes customizable multimedia presentation personae, which constitute quasi-human aspects of a virtual tutor. This quasi-human tutor provides some individualization based on student styles and on the requirements of the educational task. The voices, gestures and motions of the tutor""s personae are derived from the chosen behaviors, student personae preferences, and the history of recent behavior by selection from tables containing a variety of sound and visual display objects. All elements of the on-screen agent display are then synthesized in an integrated display script calling for graphics, animation, video, or sound as appropriate.
While these solutions are interesting, the variability of natural language human communication is not adequately accommodated. For example, depending upon a person""s background and geographic location, that person may call a soft drink a xe2x80x9csodaxe2x80x9d, a xe2x80x9cpopxe2x80x9d, or a popular soft drink trade name. When this person communicates with a computer, the person would feel more comfortable using a familiar term rather than a predetermined term selected by the computer (or, rather, the person originally responsible for programming the computer). Moreover, an element of possible confusion between the computer and the user can be reduced if the user and the computer agree on a grammar and syntax that is familiar to and comfortable for a particular human user.
The challenge then, is to provide an improved communications interface between the human and the intelligent machine. The improved interface should be directed to accommodate the variabilities of human communication rather than accommodate the rigid structure of the machine.
The present invention encompasses a method and apparatus for customizing a computer user interaction including identifying knowledge which a computer will present to a user. At least two options of grammar or semantics for use in conveying the knowledge is presented to the user. The user""s choice of options is accepted and incorporated in presenting the knowledge to the user.